//Francisco "Kiko" Olvera
//sets up directx
//DirectX.h

#pragma once
#include "DX include.h"
#include "Camera.h"
#include "ENUM.h"

class DirectXFramework
{
private:
	Camera cam;
private:
	D3DPRESENT_PARAMETERS	d3dpp;
	LPDIRECT3D9             pD3D;
	LPDIRECT3DDEVICE9       pd3dDevice;
private:
	DirectXFramework(){}
public:
	//singleton
	inline static DirectXFramework* Instance(){static DirectXFramework instance; return &instance;}
public:
	//Initializers
	void Init(HWND, HINSTANCE);
public:
	void Update();
	void RenderBegin();
	void RenderEnd();
	void Release();
public:
	//Gets
	inline LPDIRECT3DDEVICE9 getDevice(){return pd3dDevice;}
public:
	void moveCameraLeft();
	void moveCameraRight();
	void toggleCameraUp();
	CAM_MOVEMENT getCamMove()	{return cam.getCamMove();}
};